package com.sourceQ.system.domain.message.sms;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sourceQ.common.core.web.domain.UpdatableEntity;
import com.sourceQ.common.mybatis.handler.StringToListTypeHandler;
import lombok.*;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;
import java.util.List;

/**
 * 短信模板
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_sms_template",autoResultMap = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(callSuper = true)
public class SysSmsTemplate extends UpdatableEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 短信签名
     */
    private String type;

    /**
     * 开启状态
     */
    private String status;

    /**
     * 模板编码
     */
    private String code;

    /**
     * 模板名称
     */
    private String name;

    /**
     * 模板内容
     */
    private String content;

    /**
     * 参数数组
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> params;

    /**
     * 备注
     */
    private String remark;

    /**
     * 短信 API 的模板编号
     */
    private String apiTemplateId;

    /**
     * 短信渠道编号
     */
    private Long channelId;

    /**
     * 短信渠道编码
     */
    private String channelCode;

    /**
     * 是否删除 0:存在；2：删除
     */
    private String delFlag;

}
